package com.kerbores.blog.module;

import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.POST;

import com.kerbores.blog.bean.Article;
import com.kerbores.blog.module.common.BaseModule;
import com.kerbores.blog.service.IArticleService;
import com.kerbores.blog.service.ITagService;
import com.kerbores.utils.entries.Result;
import com.kerbores.utils.web.pager.Pager;

/**
 * @author Ixion <br>
 *         create at 2014年10月26日
 */
@At("tag")
public class TagModule extends BaseModule {

	@Inject
	private ITagService tagService;
	@Inject
	private IArticleService articleService;

	@At("/")
	@Ok("vel:blog/tag.html")
	public Result tag() {
		data.put("tags", tagService.listAll());
		return Result.success(data).setTitle("标签列表");
	}

	@At("/*")
	@Ok("vel:blog/list.vm")
	public Result tag(int id, int page) {
		Pager<Article> pager = articleService.findByTagPage(id,_fixPage(page));
		pager.setUrl("/tag/" + id + "/");
		pager.setSimplePager(true);
		data.put("pager", pager);
		return Result.success(data).setTitle("文章列表");
	}

	@At("/create")
	@POST
	public Result create(String name) {
		return tagService.create(name);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.kerbores.blog.module.common.BaseModule#_getNameSpace()
	 */
	@Override
	public String _getNameSpace() {
		return "tag";
	}

}
